#!/usr/bin/env bash

# INFO-----------------------------------------------------------------

# Distro Down - Baixe e grave ISO's facilmente.
# Copyright (C) 2018  <Guilherme Machado>
# Free Software Foundation, Inc.
# ---------------------------------------------------------------------
#
# Nome: Distro Down Installer
# Autor: Guilherme Felix Machado
# Contato: < machadofguilherme@gmail.com >
# Desenvolvido em: 9 de Julho de 2018
# Versão: 0.2
#----------------------------------------------------------------------


# VARIÁVEIS -----------------------------------------------------------

tempo="5"
aviso="Distro Down está sendo instalado em seu sistema. Aguarde..."

# ---------------------------------------------------------------------


# CORES --------------------------------------------------------------

vermelho=$(tput setaf 1)
fecha_cor=$'\E[m'

# --------------------------------------------------------------------


# FUNÇÕES -------------------------------------------------------------

carregador () {
    typeset t
    t="0"
    while sleep 0.5; do
        echo -ne "\r ${vermelho}[${fecha_cor} \E[34;1m${t}% ${vermelho}]${fecha_cor}"
        ((t++))
        [ "$t" = 101 ] && break
    done
}

ctrl_c () {

    printf "\n\n\t${vermelho}Cancelando operações. Saindo...${fecha_cor}\n\n"
    rm /usr/bin/distrodown
    rm -rf /usr/lib/distrodown/
    sleep 3s
    exit 0
}

# ---------------------------------------------------------------------


# BLOCO DE TESTES -----------------------------------------------------

if [ "$UID" != "0" ]; then
    echo -ne "\n\t\E[31;1mLogue-se como usuário root para continuar.\E[m\n"
    exit 1
fi

# ---------------------------------------------------------------------


# MAIN PROGRAM --------------------------------------------------------

trap ctrl_c INT

printf "
\n\E[31;1m
           D D       D          DDDD  DDDDD  D  DD D DDDD
        iDDD D DDDf DDD DD tDDD GD D  D   D; DDf D D D  D
        D  D D D     D  ,  D  D D  D  D   D .D D D D D  DD D
        D  D D  ttD  D  ,  D  D D DD  D   D  D D D D D  D D
        DDDD D DDDD  DD ,  DDDD DDDD  DDDDD  DDD DDD D  DDD

		      \E[32;1mExecutável de instalação.\n\n \
             \E[34m
        Seja bem-vindo ao instalador do Distro Down. Com esse 
        aplicativo você poderá baixar qualquer ISO de sua dis-
        tribuição favorita e posteriormente gravá-la em um dis-
        positivo USB se esse for o seu desejo.

        Para mais informações, visite o repositório de desen-
        volvimento:

        https://notabug.org/colorado/distrodown \E[m


"

while true; do
    printf " \r${tempo}..."
    ((tempo--))
    sleep 1s
    [ "$tempo" -eq 0 ] && break
done    
    
echo -ne "\n\nDeseja continuar com a instalação? [S/n]  " && read resposta


if [ "$resposta" = "S" ] || \
   [ "$resposta" = "s" ] || \
   [ "$resposta" = "" ]; then
    clear && sleep 3s
    cp distrodown /usr/bin/ 
    mkdir -p /usr/lib/distrodown/ 
    cp libs/* /usr/lib/distrodown/
    chmod +x /usr/bin/distrodown
    printf "
    
    \t  ${aviso}" && carregador
    sleep 5s; echo
    printf "\n\nA instalação foi concluída com êxito!\n\n"
    exit 0
else   
    printf "
        ${vermelho}Abortando...${fecha_cor}\n\n" && sleep 3s
    clear && exit 0
fi

# ----------------------------------------------------------------------
